package Simulation;
public class Customer extends SortableQueueItem {

//	long arrivaltime; 
	// Our arrivaltime is the simTime of the superclass
	private long service_init_time;
	private long service_completion;
	private long deadline;
	public CustomerDeadlineExpiration expirationEvent;
	
	
	public Customer(long arrivalTime) {
		super(arrivalTime);
	}

	public Customer(long simTime, long service_init_time) {
		super(simTime);
		this.setService_init_time(service_init_time);
	}

	public void setServiceCompletion(long servicecompletion) {
		this.service_completion = servicecompletion;
	}

	public long getServicecompletion() {
		return service_completion;
	}

	public void setService_init_time(long service_init_time) {
		this.service_init_time = service_init_time;
	}

	public long getService_init_time() {
		return service_init_time;
	}

	public void setDeadline(long deadline) {
		this.deadline = deadline;
		expirationEvent = new CustomerDeadlineExpiration(deadline, this);
		SimState.instance.ec.add(expirationEvent);
	}

	public long getDeadline() {
		return deadline;
	}

}
